package com.ytjj.qmyx.admin.model.request;

import com.ytjj.qmyx.admin.model.request.bankerProduct.BankerProductSkuKeyRequest;
import lombok.Data;

import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 销售渠道的商品请求
 */
@Data
public class ChannelProductRequest {

    private Integer productChannelId;//商品的渠道id

    private Integer status;//商品状态 1-上架 2-下架

    private String outRemarks;//下架原因

    /**
     * 商品ID
     */
    private Integer id;

    private Integer bankerId;
    /**
     * 供应商名称
     */
    private String bankerName;

    /**
     * 商品一级分类
     */
    private Integer categoryTopId;

    /**
     * 商品二级分类
     */
    private Integer categoryId;

    /**
     * 商品三级分类
     */
    private Integer categoryBottomId;

    /**
     * 最低价格
     */
    private BigDecimal minCostPrice;

    /**
     * 最高价格
     */
    private BigDecimal maxCostPrice;

    /**
     * 领取状态 0-未领取 1-所有的
     */
    private Integer receiveStatus;

    /**
     * 店铺id
     */
    private String shopId;

    /**
     * 第几页 从第1页开始
     */
    private Integer pageNum = 1;

    /**
     * 每页多少条 默认10条
     */
    private Integer pageSize = 10;

    //    @NotEmpty(message = "规格不能为空！")
    private List<ProductSpecRequest> spec;
    /**
     * 带上集采价后的数据
     */
    private List<Map<String, Object>> specArr;
    //    @NotNull(message = "sku不能为空！")
    private List<BankerProductSkuKeyRequest> skuKey;
    //    @NotEmpty(message = "轮播图不能为空！")
    private List<ProductImgRequest> bannerList;

    //    @NotEmpty(message = "详情图不能为空！")
    private List<ProductImgRequest> infoList;

    /**
     * 一级分类id
     */
    private Integer topCategoryId;

    /**
     * 三级分类id
     */
    private Integer bottomCategoryId;

    /**
     * 审核状态
     */
    private Integer auditStatus;

    /**
     * 品牌Id
     */
    private Integer brandId;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 款号
     */
    private String typeno;

    /**
     * 质检报告逗号隔开
     */
    private String qualityReport;

    /**
     * 附件url
     */
    private String zipUrl;

    private Integer addressId;//地址id

    @Size(max = 100,message = "商品名称不能大于100字！")
//    @NotNull(message = "商品名称不能为空！")
    private String productName;

    @Size(max = 50,message = "商品描述不能大于50字！")
//    @NotNull(message = "商品描述不能为空！")
    private String descr;

    @Size(max = 128,message = "商品主图信息错误！")
//    @NotNull(message = "商品主图不能为空！")
    private String productImg;

    //    @NotNull(message = "原价不能为空！")
    private BigDecimal originalPrice;

    //    @NotNull(message = "建议购买价不能为空！")
    private BigDecimal salePrice;

    //    @NotNull(message = "成本价格不能为空！")
    private BigDecimal costPrice;

    //    @NotNull(message = "库存预警不能为空！")
    private Integer stockWarning;

    //    @NotNull(message = "测评库存不能为空！")
    private Integer stockEvaluation;

    /**
     * 商品类型 1国内 2国外
     */
    private Integer isExit;

    /**
     * 邮寄类型（mailType）：一般贸易，直邮，保税
     */
    private String mailType;

    /**
     * 邮寄备注：mailNote
     */
    private String mailNote;

    /**
     * 供货价
     */
    private BigDecimal supplyPrice;

    /**
     * 是否控价 2-否 1-是
     */
    private Integer controlPrice;
    private String controlReason;
    /**
     * 商品视频
     */
    private String productVideo;

    private Integer freightId;//运费id

    private String infoImg;//商品详情图

    /**
     * 当前操作员姓名
     */
    private String operUserName;

    /**
     * 角色
     */
    private String roleName;

    /**
    * 拼接的分类 如 一级分类 -- 二级分类 -- 三级分类
    */
    private String category;
    /**
     * 平台数据 h5 app all circle(团小宣)
     */
    private String platformData;
    /**
     *
     */
    private Integer supplyProductId;
    /**
     * 销售地区
     */
    private List<String> provinceCodes;
}
